It is known that a user can control certain functions of an electronic device, for example, the volume of a television or the record setting on a DVR, using a remote device (sometimes referred to as a “clicker,” or simply a “remote control”). Such a remote device may be programmed to control several different electronic devices, or different types of specific electronic devices (i.e., one “universal” remote can be programmed to control various brands of televisions).
One known method of programming a remote device requires a user to select a button having a defined function and then select from a menu or list of codes related to the brand of electronic device to be controlled. Once the selection is made, the button will control a corresponding function of the electronic device. For example, assume a user desires to control the volume of a Sony TV. From the remote device, a user operates the button pre-defined as a volume-control button. The user is prompted to select or set a code corresponding to Sony TV's. If the selected code is proper for a Sony TV, the volume button on the remote device is “programmed” to control the volume of the Sony TV.
Another programming method allows a user to copy, into a clone remote device, programming signals from a source remote. Based on the copied information, the clone remote device can control an electronic device (e.g., the volume of a Sony TV) just like the source remote.
Such prior art programming methods for remotes are not sufficiently flexible nor customizable to meet the specific needs of users. For example, it would be difficult, if not impossible, to use prior art programming methods to configure a remote in one way for one user (for example, with the pause button on the top of the device), and the same remote configured another way for another user (for example, with the pause button on the bottom of the device).
A further issue is that manufacturers of different controllable electronic devices have proprietary internal structures that accept signals from remote devices and then convert the received signals into specific actions. The various functions that are performed for different devices vary from device to device and different devices use different data structures to achieve their operations.
Also known are “smart” devices, such as iPhones, iPads and the like, having applications thereon that enable the smart device to remotely control one or more specific electronic devices. Since the electronic devices to be controlled typically have unique signal control instructions, the smart device must be programmed in the manner described above, or alternatively, a set of control instructions must be download. Such control instructions may be downloaded from a common store or website compatible with the smart device. Thus, if a user desires his or her smart device to remotely control three different electronic devices, the control instructions for each of the three controlled electronic devices must be delivered individually from a remote location. This is inefficient, impossible where there is no Internet connection, and may be costly due to downloading fees.
Going on-line to acquire programming information for smart device remote control applications is also problematic in some situations because it requires each manufacturer to make public its signal control sets and to do so in versions that interface properly with the latest hardware/software version of each smart device. This can become a most difficult task to manage and may require a sophisticated tracking network to maintain over a period of time.